//package dataTransfer;
//
//import org.apache.hadoop.conf.Configuration;
//import org.apache.hadoop.fs.Path;
//import parquet.example.data.Group;
//import parquet.example.data.GroupFactory;
//import parquet.example.data.simple.SimpleGroupFactory;
//import parquet.hadoop.ParquetReader;
//import parquet.hadoop.ParquetWriter;
//import parquet.hadoop.example.GroupReadSupport;
//import parquet.hadoop.example.GroupWriteSupport;
//import parquet.schema.MessageType;
//import parquet.schema.MessageTypeParser;
//
//import java.io.BufferedReader;
//import java.io.File;
//import java.io.FileReader;
//import java.io.IOException;
//import java.util.Random;
//
//
///**
// * parquet��ʽ�洢hdfs
// */
//public class dataTohdfs {
//
//    public static void main(String[] args) throws Exception {
//
////        parquetWriter("test\\parquet-out2","input.txt");
//        parquetReaderV2("test\\parquet-out2");
//    }
//
//
//    static void parquetReaderV2(String inPath) throws Exception {
//        GroupReadSupport readSupport = new GroupReadSupport();
//        ParquetReader.Builder<Group> reader = ParquetReader.builder(readSupport, new Path(inPath));
//        ParquetReader<Group> build = reader.build();
//        Group line = null;
//        while ((line = build.read()) != null) {
//            Group time = line.getGroup("time", 0);
////ͨ���±���ֶ����ƶ����Ի�ȡ
///*System.out.println(line.getString(0, 0)+"\t"+
//line.getString(1, 0)+"\t"+
//time.getInteger(0, 0)+"\t"+
//time.getString(1, 0)+"\t");*/
//
//            System.out.println(line.getString("city", 0) + "\t" +
//                    line.getString("ip", 0) + "\t" +
//                    time.getInteger("ttl", 0) + "\t" +
//                    time.getString("ttl2", 0) + "\t");
//
////System.out.println(line.toString());
//
//        }
//        System.out.println("��ȡ����");
//    }
//
//    //�°汾��new ParquetReader()���й��췽������������,�������builderȥ�������
//    static void parquetReader(String inPath) throws Exception {
//        GroupReadSupport readSupport = new GroupReadSupport();
//        ParquetReader<Group> reader = new ParquetReader<Group>(new Path(inPath), readSupport);
//        Group line = null;
//        while ((line = reader.read()) != null) {
//            System.out.println(line.toString());
//        }
//        System.out.println("��ȡ����");
//
//    }
//
//    /**
//     * @param outPath �������Parquet��ʽ
//     * @param inPath  ������ͨ�ı��ļ�
//     * @throws IOException
//     */
//    static void parquetWriter(String outPath, String inPath) throws IOException {
//        MessageType schema = MessageTypeParser.parseMessageType("message Pair {\n" +
//                        " required binary city (UTF8);\n" +
//                        " required binary ip (UTF8);\n" +
//                        " repeated group time {\n" +
//                " required int32 ttl;\n" +
//                " required binary ttl2;\n" +
//                        "}\n" +
//                        "}");
//        GroupFactory factory = new SimpleGroupFactory(schema);
//        Path path = new Path(outPath);
//        Configuration configuration = new Configuration();
//        GroupWriteSupport writeSupport = new GroupWriteSupport();
//        writeSupport.setSchema(schema, configuration);
//        ParquetWriter<Group> writer = new ParquetWriter<Group>(path, configuration, writeSupport);
////�ѱ����ļ���ȡ��ȥ����������parquet��ʽ�ļ�
//        BufferedReader br = new BufferedReader(new FileReader(new File(inPath)));
//        String line = "";
//        Random r = new Random();
//        while ((line = br.readLine()) != null) {
//            String[] strs = line.split("\\s+");
//            if (strs.length == 2) {
//                Group group = factory.newGroup()
//                        .append("city", strs[0])
//                        .append("ip", strs[1]);
//                Group tmpG = group.addGroup("time");
//                tmpG.append("ttl", r.nextInt(9) + 1);
//                tmpG.append("ttl2", r.nextInt(9) + "_a");
//                writer.write(group);
//            }
//        }
//        System.out.println("write end");
//        writer.close();
//    }
//}
